Do not hold the deletes for a refusal that happened earlier - #833
Merged
Conversation
A sweep holds its pending deletes when a patch in the batch could not be written, because a snapshot moving inline is two unrelated entries and running the delete without the patch loses both copies of it. Which batch, though, was read off the entries: any inline entry carrying a status counted. A bulk accept skips conflicted entries and hands them back exactly as they were, so a status on one of those was left by a targeted accept of a single variant, at some earlier point. It stayed there for as long as the conflict did, and every accept-all after it held every pending delete, citing a refusal in a batch that never touched the entry - and the way out of that was to resolve a conflict that had nothing to do with the files being held. Conflicted entries are no longer read for it. Everything else left in the queue with a status was tried by this sweep and refused by it, which is what the read is for.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A sweep holds its pending deletes when a patch in the batch could not be written,
because a snapshot moving inline is two unrelated entries and running the delete
without the patch loses both copies of it. Which batch, though, was read off the
entries: any inline entry carrying a status counted.
A bulk accept skips conflicted entries and hands them back exactly as they were, so
a status on one of those was left by a targeted accept of a single variant, at some
earlier point. It stayed there for as long as the conflict did, and every accept-all
after it held every pending delete, citing a refusal in a batch that never touched
the entry - and the way out of that was to resolve a conflict that had nothing to do
with the files being held.
Conflicted entries are no longer read for it. Everything else left in the queue with
a status was tried by this sweep and refused by it, which is what the read is for.